package com.ship.contract.bean.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ship.common.core.mapping.Label;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

import static com.ship.contract.utils.NumberFormatUtil.decimalFormat;

@TableName("con_shipping")
@Data
public class ConShippingRent {

//    /**
//     *租金(每天)
//     */
//    @Label(value="租金")
//    @NotNull(message = "租金不能为空", groups = {Update.class, Add.class})
//    private BigDecimal rent;
//
//    /**
//     *租金(每天)
//     */
//    @Label(value="租金")
//    @TableField(exist = false)
//    @TableColumn
//    private String rentStr;

    /**
     *租金开始时间
     */
    @Label(value="租金开始时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
    private Date rentDateBegin;

    /**
     *租金结束时间
     */
    @Label(value="租金结束时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
    private Date rentDateEnd;

    /**
     *租金值
     */
    @Label(value="租金值")
    private BigDecimal rentParagraph;

    /**
     *租金单位
     */
    @Label(value="租金单位")
    private Integer rentUnit;

    /**
     *租金值字符串
     */
    @Label(value="租金值字符串")
    @TableField(exist = false)
    private String rentParagraphStr;

//    /**
//     *交船日期-拼接值
//     */
//    @Label(value="交船日期")
//    @TableColumn
//    @TableField(exist = false)
//    private String deliveryDate;

//    /**
//     *还船日期-开始
//     */
//    @Label(value="还船日期-开始")
//    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
//    private Date redeliveryDateBegin;
//
//    /**
//     *还船日期-结束
//     */
//    @Label(value="还船日期-结束")
//    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
//    private Date redeliveryDateEnd;
//
//    /**
//     * 还船日期拼接值
//     */
//    @Label(value="还船日期")
//    @TableColumn
//    @TableField(exist = false)
//    private String redeliveryDate;

//    /**
//     *币种
//     */
//    @Label(value="币种",enumContent = "币种",multiSelect = true)
//    private Integer currency;

    public String getRentParagraphStr(){
        String result = null;
        if (getRentParagraph()!=null) {
            result = decimalFormat.format(getRentParagraph());

            if (rentUnit == 1) {
                result = "$" + result;
            }
            if (rentUnit == 2) {
                result = "¥" + result;
            }
            if (rentUnit == 3) {
                result = "€" + result;
            }
            if (rentUnit == 4) {
                result = "￡" + result;
            }
            if (rentUnit == 5) {
                result = "C$" + result;
            }
            if (rentUnit == 6) {
                result = "￥" + result;
            }
            if (rentUnit == 7) {
                result = "₹" + result;
            }
            if (rentUnit == 8) {
                result = "p" + result;
            }
            if (rentUnit == 9) {
                result = "₽" + result;
            }
        }
        return result;

    }
//
//    public String getDeliveryDate(){
//        Date startDate =  getDeliveryDateBegin();
//        Date endDate =  getDeliveryDateEnd();
//        if(startDate == null || endDate == null){
//            return null;
//        }
//        String start = DateUtil.date2Str(startDate,"yyyy年MM月dd日HH:mm");
//        String end = DateUtil.date2Str(endDate,"yyyy年MM月dd日HH:mm");
//        return start + "-" + end;
//    }
//    public String getRedeliveryDate(){
//        Date startDate =  getRedeliveryDateBegin();
//        Date endDate =  getRedeliveryDateEnd();
//        if(startDate == null || endDate == null){
//            return null;
//        }
//        String start = DateUtil.date2Str(startDate,"yyyy年MM月dd日HH:mm");
//        String end = DateUtil.date2Str(endDate,"yyyy年MM月dd日HH:mm");
//        return start + "-" + end;
//    }
//
//    public String getRentStr(){
//        Date startDate =  getRedeliveryDateBegin();
//        Date endDate =  getRedeliveryDateEnd();
//        if(startDate == null || endDate == null){
//            return null;
//        }
//        String start = DateUtil.date2Str(startDate,"yyyy年MM月dd日HH:mm");
//        String end = DateUtil.date2Str(endDate,"yyyy年MM月dd日HH:mm");
//        return start + "-" + end;
//    }
}
